home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / plat-s3c24xx / include / plat / clock.h next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.8 KB  |  65 lines

  1. /* linux/include/asm-arm/plat-s3c24xx/clock.h
  2.  * linux/arch/arm/mach-s3c2410/clock.h
  3.  *
  4.  * Copyright (c) 2004-2005 Simtec Electronics
  5.  *    http://www.simtec.co.uk/products/SWLINUX/
  6.  *    Written by Ben Dooks, <ben@simtec.co.uk>
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License version 2 as
  10.  * published by the Free Software Foundation.
  11. */
  12.  
  13. struct clk {
  14.     struct list_head      list;
  15.     struct module        *owner;
  16.     struct clk           *parent;
  17.     const char           *name;
  18.     int              id;
  19.     int              usage;
  20.     unsigned long         rate;
  21.     unsigned long         ctrlbit;
  22.  
  23.     int            (*enable)(struct clk *, int enable);
  24.     int            (*set_rate)(struct clk *c, unsigned long rate);
  25.     unsigned long        (*get_rate)(struct clk *c);
  26.     unsigned long        (*round_rate)(struct clk *c, unsigned long rate);
  27.     int            (*set_parent)(struct clk *c, struct clk *parent);
  28. };
  29.  
  30. /* other clocks which may be registered by board support */
  31.  
  32. extern struct clk s3c24xx_dclk0;
  33. extern struct clk s3c24xx_dclk1;
  34. extern struct clk s3c24xx_clkout0;
  35. extern struct clk s3c24xx_clkout1;
  36. extern struct clk s3c24xx_uclk;
  37.  
  38. extern struct clk clk_usb_bus;
  39.  
  40. /* core clock support */
  41.  
  42. extern struct clk clk_f;
  43. extern struct clk clk_h;
  44. extern struct clk clk_p;
  45. extern struct clk clk_mpll;
  46. extern struct clk clk_upll;
  47. extern struct clk clk_xtal;
  48.  
  49. /* exports for arch/arm/mach-s3c2410
  50.  *
  51.  * Please DO NOT use these outside of arch/arm/mach-s3c2410
  52. */
  53.  
  54. extern struct mutex clocks_mutex;
  55.  
  56. extern int s3c2410_clkcon_enable(struct clk *clk, int enable);
  57.  
  58. extern int s3c24xx_register_clock(struct clk *clk);
  59. extern int s3c24xx_register_clocks(struct clk **clk, int nr_clks);
  60.  
  61. extern int s3c24xx_setup_clocks(unsigned long xtal,
  62.                 unsigned long fclk,
  63.                 unsigned long hclk,
  64.                 unsigned long pclk);
  65.